Next | Prev | Up | Top | Contents | Index
C Implementation Differences
This section lists differences between the 32-bit and the 64-bit C implementations. Because both compilers adhere to the ANSI standard, and because C is a rigorously defined language designed to be portable, there are not many differences between the 32-bit and 64-bit compiler implementations. The only areas where differences can occur are in data types (by definition) and in areas where ANSI does not define the precise behavior of the language.
Table 2-3 summarizes the differences in data types under the 32-bit and 64-bit data type models.
Differences in Data Type Sizes
C type | 32-bit | 64-bit |
---|
char | 8 | 8 |
short int | 16 | 16 |
int | 32 | 32 |
long int | 32 | 64 |
long long int | 64 | 64 |
pointer | 32 | 64 |
float | 32 | 32 |
double | 64 | 64 |
long double[1] | 64 | 128 |
Table 2-3 shows that long ints, pointers and long doubles are different under the two models.
[1] On 32-bit compiles the long double data type generates a warning message indicating that the long qualifier is not supported.
- Structure and Union Layout Examples
-
- Portability Issues
-
Next | Prev | Up | Top | Contents | Index